package com.chenjian.common.enums;

/**
 * @Description:枚举 注意:程序内部使用字符串的时候必须定义常量类或者使用枚举类,推荐使用枚举类;
 * <p>
 * 自定义响应码，参照http状态返回码定义和语义
 * <p>
 * 使用不同状态时需要和已确定的调用方协调约束
 * <p>
 * 约定仅本系统使用
 * @Author: 陈建
 * @date: 2018/6/6 9:43
 */

public enum RESPONSE_ENUM {
    /**
     * 成功响应
     */
    SUCCESS_200(2000, "Success!"),
    /**
     * 未授权
     */
    FAIL_401(4001, "Unauthorized!"),
    /**
     * 不相关资源（资源未找到）
     */
    FAIL_404(4004, "Unrelated resources!"),
    /**
     * 已删除资源（资源不可用）
     */
    FAIL_410(4010, "Deleted resources!"),
    /**
     * 登录失败
     */
    FAIL_409(4009, "Login failed!"),
    /**
     * 服务器内部错误（运行时未知错误）
     */
    FAIL_500(5000, "Service exception!"),
    /**
     * 服务暂时不可用
     */
    FAIL_503(5003, "Service unavailability!"),
    /**
     * 超时
     */
    FAIL_504(5004, "Timeout!"),
    ;
    /**
     * 自定义状态码
     */
    private Integer code;
    /**
     * 默认状态描述信息
     */
    private String message;

    RESPONSE_ENUM() {
    }

    RESPONSE_ENUM(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
